<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /**
         * promise.then() 返回的新promise的结果状态有什么决定？
         *  1. 简单表达：由 then()指定的回调函数执行的结果决定
         *  2. 详细表达：
         *      （1）如果抛出异常，新promise变为rejected，reason为抛出的异常
         *      （2）如果返回的是非promise的任意值，新promise变为resolved，value为返回值
         *      （3）如果返回的是另一个新promise，此promise的结果，就会成为新promise的结果
         * 
         * 
         */
        let p = new Promise((resolve, reject)=>{
            resolve('ok');
        })

        let result = p.then(value=>{
            //1 抛出错误
            // throw '出错啦';
            //2 返回非promise 的值
            // return 123;
            // return undefined;
            // 3. 返回一个新promise
            // return new Promise((resolve,reject)=>{
            //     resolve('ok');
            //     // reject('error');
            // })

        },reason=>{
            console.log(reason);
        })
        console.log(result);
        
    </script>
</body>
</html>